package four;

public class A074 {


    //1.确定每次起跳的区间（第一次为0位置）
    //2.根据起跳区间，确定从该区间可以到下一个区间的位置
    public int jump(int[] nums) {
        int n = nums.length,ret = 0;
        if(n==1) return 0;
        int left=0,right=0,i=0;
        while(i<n) {
            //1.更新左端点
            left = right + 1;
            ret++;
            //2.更新右端点
            while(i<left) {
                right = Math.max(right,i+nums[i++]);
                if(right>=n-1) return ret; //下次起跳位置被包含了
            }
        }
        return ret;
    }
}
